<?php


namespace App\Http\Controllers\Common;


use App\Services\UserService;
use Illuminate\Http\Request;

class UserController extends BaseController
{
    /**
     * @api {get} login 01、用户登录
     * @apiName Common-UserLogan
     * @apiGroup 99-Common
     * @apiVersion 1.0.0
     *
     * @apiParam {String{password,captcha}} [mode=pass] 手机号码 密码类型 password:登录密码 captcha:短信验证码
     * @apiParam {String} phone 手机号码
     * @apiParam {String} secret 登录密码/短信验证码
     *
     * @apiSuccess {Number} code 成功返回标识为200，其他均为失败
     * @apiSuccess {String} message 响应结果描述
     *
     * @apiSuccess {Object} data 返回数据集
     * @apiSuccess {Number} data.user_id 用户主键
     * @apiSuccess {String} data.phone 手机号码
     * @apiSuccess {String} data.nickname 用户昵称
     * @apiSuccess {String} data.avatar_url 用户头像
     * @apiSuccess {String} data.email 电子邮件
     * @apiSuccess {Number} data.is_admin 后台管理 0:否 1:是
     * @apiSuccess {Number} data.status 可用状态 0:停用 1:正常
     * @apiSuccess {DateTime} data.created_at 数据创建时间
     * @apiSuccess {String} data.authorization 身份密钥
     *
     * @param Request $request
     * @param UserService $service
     * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Model|object|\Tymon\JWTAuth\Contracts\JWTSubject|null
     * @throws \Exception
     */
    public function login(Request  $request, UserService $service) {
        return $service->login($request->input());
    }

    /**
     * @api {get} logout 02、退出登录
     * @apiName Common-UserLogout
     * @apiGroup 99-Common
     * @apiVersion 1.0.0
     *
     * @apiSuccess {Number} code 成功返回标识为200，其他均为失败
     * @apiSuccess {String} message 响应结果描述
     *
     * @param Request $request
     * @param UserService $service
     * @return bool
     * @throws \Exception
     */
    public function logout(Request $request, UserService $service) {
        return $service->logout($request);
    }
}
